{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "from icepyx import icesat2data as ipd\n",
    "import os\n",
    "import shutil\n",
    "from pathlib import Path\n",
    "from pprint import pprint\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Download ATL06 data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "short_name = 'ATL06'\n",
    "spatial_extent = [ -50.71,  65.73, -45.32,  68.08]\n",
    "date_range = ['2019-06-01','2019-06-10']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "region_a = ipd.Icesat2Data(short_name, spatial_extent, date_range)\n",
    "\n",
    "# print(region_a.dataset)\n",
    "# print(region_a.dates)\n",
    "# print(region_a.start_time)\n",
    "# print(region_a.end_time)\n",
    "# print(region_a.dataset_version)\n",
    "# print(region_a.spatial_extent)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['ATL06_20190601071608_09780303_003_01.h5',\n",
       " 'ATL06_20190601200102_09860305_003_01.h5',\n",
       " 'ATL06_20190605070748_10390303_003_01.h5',\n",
       " 'ATL06_20190605195242_10470305_003_01.h5',\n",
       " 'ATL06_20190609065929_11000303_003_01.h5',\n",
       " 'ATL06_20190609194422_11080305_003_01.h5']"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "region_a.avail_granules(ids=True)\n",
    "\n",
    "# # All possible variables\n",
    "# region_a.order_vars.avail(options=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "name": "stdin",
     "output_type": "stream",
     "text": [
      "Earthdata Login password:  \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[\"Password can't be blank\"]\n"
     ]
    },
    {
     "name": "stdin",
     "output_type": "stream",
     "text": [
      "Please re-enter your Earthdata user ID:  \n",
      "Earthdata Login password:  \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[\"Username can't be blank\", \"Password can't be blank\"]\n"
     ]
    },
    {
     "name": "stdin",
     "output_type": "stream",
     "text": [
      "Please re-enter your Earthdata user ID:  tsnow03\n",
      "Earthdata Login password:  ············\n"
     ]
    }
   ],
   "source": [
    "earthdata_emails = {'tsnow03':'tasha.snow@colorado.edu',\n",
    "                 'fperez': 'fernando.perez@berkeley.edu',\n",
    "                 'alicecima':'alice_cima@berkeley.edu',\n",
    "                 'grigsbye':'grigsby@mines.edu'\n",
    "                    # add your name here\n",
    "                }\n",
    "\n",
    "user = 'tsnow03'\n",
    "region_a.earthdata_login(user, earthdata_emails[user])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/json": {
       "atl06_quality_summary": [
        "gt1l/land_ice_segments/atl06_quality_summary",
        "gt1r/land_ice_segments/atl06_quality_summary",
        "gt2l/land_ice_segments/atl06_quality_summary",
        "gt2r/land_ice_segments/atl06_quality_summary",
        "gt3l/land_ice_segments/atl06_quality_summary",
        "gt3r/land_ice_segments/atl06_quality_summary"
       ],
       "atlas_sdp_gps_epoch": [
        "ancillary_data/atlas_sdp_gps_epoch"
       ],
       "bckgrd": [
        "gt1l/land_ice_segments/geophysical/bckgrd",
        "gt1r/land_ice_segments/geophysical/bckgrd",
        "gt2l/land_ice_segments/geophysical/bckgrd",
        "gt2r/land_ice_segments/geophysical/bckgrd",
        "gt3l/land_ice_segments/geophysical/bckgrd",
        "gt3r/land_ice_segments/geophysical/bckgrd"
       ],
       "bsnow_conf": [
        "gt1l/land_ice_segments/geophysical/bsnow_conf",
        "gt1r/land_ice_segments/geophysical/bsnow_conf",
        "gt2l/land_ice_segments/geophysical/bsnow_conf",
        "gt2r/land_ice_segments/geophysical/bsnow_conf",
        "gt3l/land_ice_segments/geophysical/bsnow_conf",
        "gt3r/land_ice_segments/geophysical/bsnow_conf"
       ],
       "bsnow_h": [
        "gt1l/land_ice_segments/geophysical/bsnow_h",
        "gt1r/land_ice_segments/geophysical/bsnow_h",
        "gt2l/land_ice_segments/geophysical/bsnow_h",
        "gt2r/land_ice_segments/geophysical/bsnow_h",
        "gt3l/land_ice_segments/geophysical/bsnow_h",
        "gt3r/land_ice_segments/geophysical/bsnow_h"
       ],
       "bsnow_od": [
        "gt1l/land_ice_segments/geophysical/bsnow_od",
        "gt1r/land_ice_segments/geophysical/bsnow_od",
        "gt2l/land_ice_segments/geophysical/bsnow_od",
        "gt2r/land_ice_segments/geophysical/bsnow_od",
        "gt3l/land_ice_segments/geophysical/bsnow_od",
        "gt3r/land_ice_segments/geophysical/bsnow_od"
       ],
       "cloud_flg_asr": [
        "gt1l/land_ice_segments/geophysical/cloud_flg_asr",
        "gt1r/land_ice_segments/geophysical/cloud_flg_asr",
        "gt2l/land_ice_segments/geophysical/cloud_flg_asr",
        "gt2r/land_ice_segments/geophysical/cloud_flg_asr",
        "gt3l/land_ice_segments/geophysical/cloud_flg_asr",
        "gt3r/land_ice_segments/geophysical/cloud_flg_asr"
       ],
       "cloud_flg_atm": [
        "gt1l/land_ice_segments/geophysical/cloud_flg_atm",
        "gt1r/land_ice_segments/geophysical/cloud_flg_atm",
        "gt2l/land_ice_segments/geophysical/cloud_flg_atm",
        "gt2r/land_ice_segments/geophysical/cloud_flg_atm",
        "gt3l/land_ice_segments/geophysical/cloud_flg_atm",
        "gt3r/land_ice_segments/geophysical/cloud_flg_atm"
       ],
       "data_end_utc": [
        "ancillary_data/data_end_utc"
       ],
       "data_start_utc": [
        "ancillary_data/data_start_utc"
       ],
       "delta_time": [
        "gt1l/land_ice_segments/delta_time",
        "gt1l/residual_histogram/delta_time",
        "gt1l/segment_quality/delta_time",
        "gt1r/land_ice_segments/delta_time",
        "gt1r/residual_histogram/delta_time",
        "gt1r/segment_quality/delta_time",
        "gt2l/land_ice_segments/delta_time",
        "gt2l/residual_histogram/delta_time",
        "gt2l/segment_quality/delta_time",
        "gt2r/land_ice_segments/delta_time",
        "gt2r/residual_histogram/delta_time",
        "gt2r/segment_quality/delta_time",
        "gt3l/land_ice_segments/delta_time",
        "gt3l/residual_histogram/delta_time",
        "gt3l/segment_quality/delta_time",
        "gt3r/land_ice_segments/delta_time",
        "gt3r/residual_histogram/delta_time",
        "gt3r/segment_quality/delta_time",
        "quality_assessment/gt1l/delta_time",
        "quality_assessment/gt1r/delta_time",
        "quality_assessment/gt2l/delta_time",
        "quality_assessment/gt2r/delta_time",
        "quality_assessment/gt3l/delta_time",
        "quality_assessment/gt3r/delta_time"
       ],
       "dh_fit_dx": [
        "gt1l/land_ice_segments/fit_statistics/dh_fit_dx",
        "gt1r/land_ice_segments/fit_statistics/dh_fit_dx",
        "gt2l/land_ice_segments/fit_statistics/dh_fit_dx",
        "gt2r/land_ice_segments/fit_statistics/dh_fit_dx",
        "gt3l/land_ice_segments/fit_statistics/dh_fit_dx",
        "gt3r/land_ice_segments/fit_statistics/dh_fit_dx"
       ],
       "e_bckgrd": [
        "gt1l/land_ice_segments/geophysical/e_bckgrd",
        "gt1r/land_ice_segments/geophysical/e_bckgrd",
        "gt2l/land_ice_segments/geophysical/e_bckgrd",
        "gt2r/land_ice_segments/geophysical/e_bckgrd",
        "gt3l/land_ice_segments/geophysical/e_bckgrd",
        "gt3r/land_ice_segments/geophysical/e_bckgrd"
       ],
       "end_delta_time": [
        "ancillary_data/end_delta_time"
       ],
       "end_geoseg": [
        "ancillary_data/end_geoseg"
       ],
       "granule_end_utc": [
        "ancillary_data/granule_end_utc"
       ],
       "granule_start_utc": [
        "ancillary_data/granule_start_utc"
       ],
       "h_li": [
        "gt1l/land_ice_segments/h_li",
        "gt1r/land_ice_segments/h_li",
        "gt2l/land_ice_segments/h_li",
        "gt2r/land_ice_segments/h_li",
        "gt3l/land_ice_segments/h_li",
        "gt3r/land_ice_segments/h_li"
       ],
       "h_li_sigma": [
        "gt1l/land_ice_segments/h_li_sigma",
        "gt1r/land_ice_segments/h_li_sigma",
        "gt2l/land_ice_segments/h_li_sigma",
        "gt2r/land_ice_segments/h_li_sigma",
        "gt3l/land_ice_segments/h_li_sigma",
        "gt3r/land_ice_segments/h_li_sigma"
       ],
       "h_robust_sprd": [
        "gt1l/land_ice_segments/fit_statistics/h_robust_sprd",
        "gt1r/land_ice_segments/fit_statistics/h_robust_sprd",
        "gt2l/land_ice_segments/fit_statistics/h_robust_sprd",
        "gt2r/land_ice_segments/fit_statistics/h_robust_sprd",
        "gt3l/land_ice_segments/fit_statistics/h_robust_sprd",
        "gt3r/land_ice_segments/fit_statistics/h_robust_sprd"
       ],
       "latitude": [
        "gt1l/land_ice_segments/latitude",
        "gt1r/land_ice_segments/latitude",
        "gt2l/land_ice_segments/latitude",
        "gt2r/land_ice_segments/latitude",
        "gt3l/land_ice_segments/latitude",
        "gt3r/land_ice_segments/latitude"
       ],
       "layer_flag": [
        "gt1l/land_ice_segments/geophysical/layer_flag",
        "gt1r/land_ice_segments/geophysical/layer_flag",
        "gt2l/land_ice_segments/geophysical/layer_flag",
        "gt2r/land_ice_segments/geophysical/layer_flag",
        "gt3l/land_ice_segments/geophysical/layer_flag",
        "gt3r/land_ice_segments/geophysical/layer_flag"
       ],
       "longitude": [
        "gt1l/land_ice_segments/longitude",
        "gt1r/land_ice_segments/longitude",
        "gt2l/land_ice_segments/longitude",
        "gt2r/land_ice_segments/longitude",
        "gt3l/land_ice_segments/longitude",
        "gt3r/land_ice_segments/longitude"
       ],
       "msw_flag": [
        "gt1l/land_ice_segments/geophysical/msw_flag",
        "gt1r/land_ice_segments/geophysical/msw_flag",
        "gt2l/land_ice_segments/geophysical/msw_flag",
        "gt2r/land_ice_segments/geophysical/msw_flag",
        "gt3l/land_ice_segments/geophysical/msw_flag",
        "gt3r/land_ice_segments/geophysical/msw_flag"
       ],
       "n_fit_photons": [
        "gt1l/land_ice_segments/fit_statistics/n_fit_photons",
        "gt1r/land_ice_segments/fit_statistics/n_fit_photons",
        "gt2l/land_ice_segments/fit_statistics/n_fit_photons",
        "gt2r/land_ice_segments/fit_statistics/n_fit_photons",
        "gt3l/land_ice_segments/fit_statistics/n_fit_photons",
        "gt3r/land_ice_segments/fit_statistics/n_fit_photons"
       ],
       "sc_orient": [
        "orbit_info/sc_orient"
       ],
       "sc_orient_time": [
        "orbit_info/sc_orient_time"
       ],
       "segment_id": [
        "gt1l/land_ice_segments/segment_id",
        "gt1l/segment_quality/segment_id",
        "gt1r/land_ice_segments/segment_id",
        "gt1r/segment_quality/segment_id",
        "gt2l/land_ice_segments/segment_id",
        "gt2l/segment_quality/segment_id",
        "gt2r/land_ice_segments/segment_id",
        "gt2r/segment_quality/segment_id",
        "gt3l/land_ice_segments/segment_id",
        "gt3l/segment_quality/segment_id",
        "gt3r/land_ice_segments/segment_id",
        "gt3r/segment_quality/segment_id"
       ],
       "signal_selection_source": [
        "gt1l/land_ice_segments/fit_statistics/signal_selection_source",
        "gt1l/segment_quality/signal_selection_source",
        "gt1r/land_ice_segments/fit_statistics/signal_selection_source",
        "gt1r/segment_quality/signal_selection_source",
        "gt2l/land_ice_segments/fit_statistics/signal_selection_source",
        "gt2l/segment_quality/signal_selection_source",
        "gt2r/land_ice_segments/fit_statistics/signal_selection_source",
        "gt2r/segment_quality/signal_selection_source",
        "gt3l/land_ice_segments/fit_statistics/signal_selection_source",
        "gt3l/segment_quality/signal_selection_source",
        "gt3r/land_ice_segments/fit_statistics/signal_selection_source",
        "gt3r/segment_quality/signal_selection_source"
       ],
       "snr_significance": [
        "gt1l/land_ice_segments/fit_statistics/snr_significance",
        "gt1r/land_ice_segments/fit_statistics/snr_significance",
        "gt2l/land_ice_segments/fit_statistics/snr_significance",
        "gt2r/land_ice_segments/fit_statistics/snr_significance",
        "gt3l/land_ice_segments/fit_statistics/snr_significance",
        "gt3r/land_ice_segments/fit_statistics/snr_significance"
       ],
       "start_delta_time": [
        "ancillary_data/start_delta_time"
       ],
       "w_surface_window_final": [
        "gt1l/land_ice_segments/fit_statistics/w_surface_window_final",
        "gt1r/land_ice_segments/fit_statistics/w_surface_window_final",
        "gt2l/land_ice_segments/fit_statistics/w_surface_window_final",
        "gt2r/land_ice_segments/fit_statistics/w_surface_window_final",
        "gt3l/land_ice_segments/fit_statistics/w_surface_window_final",
        "gt3r/land_ice_segments/fit_statistics/w_surface_window_final"
       ]
      },
      "text/plain": [
       "<IPython.core.display.JSON object>"
      ]
     },
     "execution_count": 82,
     "metadata": {
      "application/json": {
       "expanded": false,
       "root": "root"
      }
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "region_a.order_vars.append(var_list=['latitude','longitude','h_li','h_li_sigma','atl06_quality_summary','delta_time',\n",
    "                                      'signal_selection_source','snr_significance','h_robust_sprd','dh_fit_dx','bsnow_conf',\n",
    "                                      'cloud_flg_asr','cloud_flg_atm','msw_flag','bsnow_h','bsnow_od','layer_flag','bckgrd',\n",
    "                                      'e_bckgrd','n_fit_photons','end_geoseg','segment_id','w_surface_window_final'])\n",
    "from IPython.display import JSON\n",
    "JSON(region_a.order_vars.wanted)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, specify our coverage request with the wanted variables:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total number of data order requests is  1  for  6  granules.\n",
      "Data request  1  of  1  is submitting to NSIDC\n",
      "order ID:  5000000702448\n",
      "Initial status of your order request at NSIDC is:  processing\n",
      "Your order status is still  processing  at NSIDC. Please continue waiting... this may take a few moments.\n",
      "Your order is: complete\n",
      "Beginning download of zipped output...\n",
      "Data request 5000000702448 of  1  order(s) is downloaded.\n",
      "Download complete\n"
     ]
    }
   ],
   "source": [
    "# Prescribe subset\n",
    "region_a.subsetparams(Coverage=region_a.order_vars.wanted);\n",
    "\n",
    "# Order granules\n",
    "region_a.order_granules()\n",
    "\n",
    "# # View a short list of order IDs:\n",
    "# region_a.granules.orderIDs\n",
    "\n",
    "# Download to path\n",
    "path = './download'\n",
    "# without variable subsetting, or with variable subsetting if you have run region_a.order_granules(Coverage=region_a.order_vars.wanted)\n",
    "region_a.download_granules(path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19M\t./download\n",
      "19M\ttotal\n"
     ]
    }
   ],
   "source": [
    "# folder size\n",
    "!du -csh ./download"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Build Pandas DataFrame"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Some utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pyproj\n",
    "from astropy.time import Time\n",
    "\n",
    "def gps2dyr(time):\n",
    "    \"\"\"Converts GPS time to datetime (can also do decimal years).\"\"\"\n",
    "    return Time(time, format='gps').datetime\n",
    "\n",
    "def transform_coord(proj1, proj2, x, y):\n",
    "    \"\"\"Transform coordinates from proj1 to proj2 (EPSG num).\n",
    "\n",
    "    Example EPSG projections:\n",
    "        Geodetic (lon/lat): 4326\n",
    "        Polar Stereo AnIS (x/y): 3031\n",
    "        Polar Stereo GrIS (x/y): 3413\n",
    "    \"\"\"\n",
    "    # Set full EPSG projection strings\n",
    "    proj1 = pyproj.Proj(\"+init=EPSG:\"+str(proj1))\n",
    "    proj2 = pyproj.Proj(\"+init=EPSG:\"+str(proj2))\n",
    "    return pyproj.transform(proj1, proj2, x, y)  # convert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [],
   "source": [
    "import h5py\n",
    "import numpy as np\n",
    "\n",
    "def read_atl06(fname, cloud_var='Integer_Cloud_Mask', outdir='data', bbox=None):\n",
    "    \"\"\"Read one ATL06 file and output 6 reduced files. \n",
    "    \n",
    "    Extract variables of interest and separate the ATL06 file \n",
    "    into each beam (ground track) and ascending/descending orbits.\n",
    "    \"\"\"\n",
    "\n",
    "    # Each beam is a group\n",
    "    group = ['/gt1l', '/gt1r', '/gt2l', '/gt2r', '/gt3l', '/gt3r']\n",
    "    \n",
    "    # Loop trough beams\n",
    "    dataframes = []  # one dataframe per track\n",
    "    \n",
    "    with h5py.File(fname, 'r') as fi:\n",
    "        # Check which ground tracks are present in this file\n",
    "        gtracks = sorted(['/'+k for k in fi.keys() if k.startswith('gt')])\n",
    "    \n",
    "        for k, g in enumerate(gtracks): \n",
    "            # Read in data for a single beam\n",
    "            data = {}\n",
    "            data['ground_track'] = np.nan # Put it first in the dict for column ordering\n",
    "            data['t_year'] = np.nan\n",
    "            \n",
    "            # Load vars into memory (include as many as you want)\n",
    "            data['lat'] = fi[g+'/land_ice_segments/latitude'][:]\n",
    "            data['lon'] = fi[g+'/land_ice_segments/longitude'][:]\n",
    "            data[cloud_var] = np.nan\n",
    "            data['h_li'] = fi[g+'/land_ice_segments/h_li'][:]\n",
    "            data['s_li'] = fi[g+'/land_ice_segments/h_li_sigma'][:]\n",
    "            data['q_flag'] = fi[g+'/land_ice_segments/atl06_quality_summary'][:]\n",
    "            data['s_fg'] = fi[g+'/land_ice_segments/fit_statistics/signal_selection_source'][:]\n",
    "            data['snr'] = fi[g+'/land_ice_segments/fit_statistics/snr_significance'][:]\n",
    "            data['h_rb'] = fi[g+'/land_ice_segments/fit_statistics/h_robust_sprd'][:]\n",
    "            data['dh_fit_dx'] = fi[g+'/land_ice_segments/fit_statistics/dh_fit_dx'][:]\n",
    "            data['bsnow_conf'] = fi[g+'/land_ice_segments/geophysical/bsnow_conf'][:]\n",
    "            \n",
    "            data['cloud_flg_asr'] = fi[g+'/land_ice_segments/geophysical/cloud_flg_asr'][:]\n",
    "            data['cloud_flg_atm'] = fi[g+'/land_ice_segments/geophysical/cloud_flg_atm'][:]\n",
    "            data['msw_flag'] = fi[g+'/land_ice_segments/geophysical/msw_flag'][:]\n",
    "            data['fbsnow_h'] = fi[g+'/land_ice_segments/geophysical/bsnow_h'][:]\n",
    "            data['bsnow_od'] = fi[g+'/land_ice_segments/geophysical/bsnow_od'][:]\n",
    "            data['layer_flag'] = fi[g+'/land_ice_segments/geophysical/layer_flag'][:]\n",
    "            data['bckgrd'] = fi[g+'/land_ice_segments/geophysical/bckgrd'][:]\n",
    "            data['e_bckgrd'] = fi[g+'/land_ice_segments/geophysical/e_bckgrd'][:]\n",
    "            data['n_fit_photons'] = fi[g+'/land_ice_segments/fit_statistics/n_fit_photons'][:]\n",
    "#             data['end_geoseg'] = fi['/ancillary_data/end_geoseg'][:]\n",
    "            data['segment_id'] = fi[g+'/segment_quality/segment_id'][:]\n",
    "            data['w_surface_window_final'] = fi[g+'/land_ice_segments/fit_statistics/w_surface_window_final'][:]\n",
    "            \n",
    "            delta_t = fi[g+'/land_ice_segments/delta_time'][:]     # for time conversion\n",
    "            t_ref = fi['/ancillary_data/atlas_sdp_gps_epoch'][:]     # single value\n",
    "            \n",
    "#             data['dac'] = fi[g+'/land_ice_segments/geophysical/dac'][:]\n",
    "#             data['tide_earth'] = fi[g+'/land_ice_segments/geophysical/tide_earth'][:]\n",
    "#             data['tide_load'] = fi[g+'/land_ice_segments/geophysical/tide_load'][:]\n",
    "#             data['tide_ocean'] = fi[g+'/land_ice_segments/geophysical/tide_ocean'][:]\n",
    "#             data['tide_pole'] = fi[g+'/land_ice_segments/geophysical/tide_pole'][:]\n",
    "                \n",
    "#              rgt = fi['/orbit_info/rgt'][:]                           # single value\n",
    "#              beam_type = fi[g].attrs[\"atlas_beam_type\"].decode()      # strong/weak (str)\n",
    "#              spot_number = fi[g].attrs[\"atlas_spot_number\"].decode()  # number (str)\n",
    "            \n",
    "            # Time in GPS seconds (secs since Jan 5, 1980)\n",
    "            t_gps = t_ref + delta_t\n",
    "\n",
    "            # GPS sec to datetime\n",
    "            data['t_year'] = gps2dyr(t_gps)\n",
    "        \n",
    "            # Assume all vector fields are of the length of the first. TODO - check?\n",
    "            npts = len(data['lat'])\n",
    "            data['ground_track'] = [g[1:]]*npts\n",
    "                    \n",
    "            # Make a dataframe out of our data dict and store it.\n",
    "            dataframes.append(pd.DataFrame.from_dict(data))\n",
    "        \n",
    "    return dataframes\n",
    "\n",
    "def atl06_2_df(files,cloud_var='Integer_Cloud_Mask'):\n",
    "    \"\"\"Return a single Pandas dataframe from a list of HDF5 ATL-06 data files.\n",
    "    \"\"\"\n",
    "    dataframes = []\n",
    "    for f in files:\n",
    "        dataframes.extend(read_atl06(f,cloud_var))\n",
    "    \n",
    "    ndfs = len(dataframes)\n",
    "    i = 0\n",
    "    \n",
    "    # pd.concat can only work with up to 10 dataframes at a time,\n",
    "    # so we need to chunk this up\n",
    "    new_dfs = []\n",
    "    while i <= ndfs:\n",
    "        i_end = i+10 if i+10 < ndfs else ndfs\n",
    "        dfs = dataframes[i:i_end]\n",
    "        if not dfs:\n",
    "            break\n",
    "        new_dfs.append(pd.concat(dfs))\n",
    "        i = i_end\n",
    "    \n",
    "    return pd.concat(new_dfs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>ground_track</th>\n",
       "      <th>t_year</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>Integer_Cloud_Mask</th>\n",
       "      <th>h_li</th>\n",
       "      <th>s_li</th>\n",
       "      <th>q_flag</th>\n",
       "      <th>s_fg</th>\n",
       "      <th>...</th>\n",
       "      <th>cloud_flg_atm</th>\n",
       "      <th>msw_flag</th>\n",
       "      <th>fbsnow_h</th>\n",
       "      <th>bsnow_od</th>\n",
       "      <th>layer_flag</th>\n",
       "      <th>bckgrd</th>\n",
       "      <th>e_bckgrd</th>\n",
       "      <th>n_fit_photons</th>\n",
       "      <th>segment_id</th>\n",
       "      <th>w_surface_window_final</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-01 20:04:48.205868</td>\n",
       "      <td>68.079999</td>\n",
       "      <td>-47.455941</td>\n",
       "      <td>None</td>\n",
       "      <td>1681.167114</td>\n",
       "      <td>0.008938</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>0</td>\n",
       "      <td>7417902.0</td>\n",
       "      <td>2635365.75</td>\n",
       "      <td>507</td>\n",
       "      <td>623016</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-01 20:04:48.208686</td>\n",
       "      <td>68.079821</td>\n",
       "      <td>-47.455997</td>\n",
       "      <td>None</td>\n",
       "      <td>1681.033203</td>\n",
       "      <td>0.012630</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>0</td>\n",
       "      <td>7494146.0</td>\n",
       "      <td>2635369.50</td>\n",
       "      <td>531</td>\n",
       "      <td>623017</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   index ground_track                     t_year        lat        lon  \\\n",
       "0      0         gt1l 2019-06-01 20:04:48.205868  68.079999 -47.455941   \n",
       "1      1         gt1l 2019-06-01 20:04:48.208686  68.079821 -47.455997   \n",
       "\n",
       "  Integer_Cloud_Mask         h_li      s_li  q_flag  s_fg  ...  cloud_flg_atm  \\\n",
       "0               None  1681.167114  0.008938       0     0  ...              0   \n",
       "1               None  1681.033203  0.012630       0     0  ...              0   \n",
       "\n",
       "   msw_flag      fbsnow_h      bsnow_od  layer_flag     bckgrd    e_bckgrd  \\\n",
       "0         0  3.402823e+38  3.402823e+38           0  7417902.0  2635365.75   \n",
       "1         0  3.402823e+38  3.402823e+38           0  7494146.0  2635369.50   \n",
       "\n",
       "   n_fit_photons  segment_id  w_surface_window_final  \n",
       "0            507      623016                     3.0  \n",
       "1            531      623017                     3.0  \n",
       "\n",
       "[2 rows x 25 columns]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create dataframe from all h5 files\n",
    "path = Path('download')\n",
    "cloud_var = 'Integer_Cloud_Mask'\n",
    "dataf = atl06_2_df(path.glob('*.h5'),cloud_var)\n",
    "dataf = dataf.reset_index()\n",
    "\n",
    "# dataf.describe()\n",
    "# dataf.info()\n",
    "dataf.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    368002\n",
       "1     27185\n",
       "Name: q_flag, dtype: int64"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataf.q_flag.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2    150480\n",
       "1     93532\n",
       "5     71058\n",
       "3     49528\n",
       "4     26321\n",
       "0      4268\n",
       "Name: cloud_flg_asr, dtype: int64"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataf.cloud_flg_asr.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Automation of VIIRS assimilation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [],
   "source": [
    "import utils\n",
    "import importlib\n",
    "importlib.reload(utils)\n",
    "# from utils import associate\n",
    "import datetime as dt\n",
    "from sklearn.neighbors import BallTree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_file_in_directory(path): \n",
    "    \"Retrieves file names from a directory \\\n",
    "    \\n\\nInput: path = directory \\\n",
    "    \\n\\nOutput: list of subdirectories\"\n",
    "\n",
    "    return [os.path.join(path, name) for name in os.listdir(path)\n",
    "            if os.path.isfile(os.path.join(path, name))]\n",
    "\n",
    "def print_attrs(name, obj):\n",
    "    print(name)\n",
    "    for key, val in obj.attrs.items():\n",
    "        print(\"    %s: %s\" % (key, val))\n",
    "\n",
    "# f_.visititems(print_attrs) \n",
    "\n",
    "####################################\n",
    "\n",
    "def associate2(dataframe, swath, variable='Integer_Cloud_Mask'):\n",
    "    \"\"\"Takes a dataframe, and a satellite file, and extracts the\n",
    "    selected variable as a new column.\n",
    "\n",
    "    Assumes that data coordinates are in lat/lon\n",
    "    Assumes dataframe higher resolution than swath\n",
    "    \n",
    "    swath = satellite data\n",
    "    \"\"\"\n",
    "    \n",
    "    # grab swath coordinates\n",
    "    # TODO; make general for inferring lat/lon paths\n",
    "    latS = np.array(swath['geolocation_data']['latitude'])\n",
    "    lonS = np.array(swath['geolocation_data']['longitude'])\n",
    "\n",
    "    S_rad = np.vstack([lonS[:].ravel(),latS[:].ravel()]).T\n",
    "    S_rad *= np.pi / 180.\n",
    "\n",
    "    # grab dataframe coords\n",
    "    latF = dataframe.lat.values\n",
    "    lonF = dataframe.lon.values\n",
    "\n",
    "    F_rad = np.vstack([lonF[:].ravel(),latF[:].ravel()]).T\n",
    "    F_rad *= np.pi / 180.\n",
    "\n",
    "    # build spatial tree; find matches\n",
    "    print(\"building tree\")\n",
    "    S_Ball = BallTree(S_rad,metric='haversine')\n",
    "    print(\"searching data\")\n",
    "    indicies = S_Ball.query(F_rad, k=1,\n",
    "                            breadth_first=True,\n",
    "                            return_distance=False)\n",
    "    \n",
    "    extract = swath['geophysical_data'][variable].value\n",
    "    new_column = extract.ravel()[indicies]\n",
    "\n",
    "    # get data for overlay\n",
    "    shp = swath['geophysical_data'][variable].shape\n",
    "    mask = np.zeros_like(extract, dtype=bool)\n",
    "    mask.ravel()[indicies] = True\n",
    "    return new_column, mask, indicies\n",
    "\n",
    "####################################\n",
    "\n",
    "def assimVIIRS(df, Cfiles, hr=1, variable='Integer_Cloud_Mask'):\n",
    "    '''Read in each VIIRS cloud mask file and assimilate the data from it\n",
    "    for the Icesat-2 data points that coincide in time (within a window) and space.\n",
    "    \n",
    "    df = Pandas DataFrame of Icesat-2 data\n",
    "    Cfiles = list of VIIRS file paths\n",
    "    hr = hours, temporal search window\n",
    "    '''\n",
    "    \n",
    "    for Cfile in Cfiles:\n",
    "        f_ = h5py.File(Cfile) \n",
    "        f_t = int(Cfile[-33:-26]+Cfile[-25:-21])\n",
    "        f_t = pd.to_datetime(f_t, format=\"%Y%j%H%M\")\n",
    "\n",
    "        # Temporal search window for VIIRS file\n",
    "        start = f_t - pd.DateOffset(hours=hr)\n",
    "        end = f_t + pd.DateOffset(hours=hr)\n",
    "\n",
    "        # Grab dataframe data that matches the temporal search window\n",
    "        mask = ((df['t_year']>=start) * (df['t_year']<=end))\n",
    "        # # To test that it works on a couple\n",
    "        # dataf['trial']=False\n",
    "        # mask = df['trial']\n",
    "        # mask.iloc[[94266,  94267]] = True\n",
    "        # match = df[mask]\n",
    "        \n",
    "        if mask.sum()>0:\n",
    "            match = df[mask]\n",
    "            df.loc[mask, variable], cldmask, idx = associate2(match,f_)\n",
    "            print (Cfile[-33:-26]+Cfile[-25:-21]+\" assimilated\")\n",
    "        else:\n",
    "            print (Cfile[-33:-26]+Cfile[-25:-21]+\" has no overlap\")\n",
    "            \n",
    "    return cldmask,idx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:72: H5pyDeprecationWarning: The default file mode will change to 'r' (read-only) in h5py 3.0. To suppress this warning, pass the mode you need to h5py.File(), or set the global default h5.get_config().default_file_mode, or set the environment variable H5PY_DEFAULT_READONLY=1. Available modes are: 'r', 'r+', 'w', 'w-'/'x', 'a'. See the docs for details.\n",
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/core/computation/expressions.py:178: UserWarning: evaluating in Python space because the '*' operator is not supported by numexpr for the bool dtype, use '&' instead\n",
      "  f\"evaluating in Python space because the {repr(op_str)} \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20191561254 has no overlap\n",
      "building tree\n",
      "searching data\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:51: H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.\n",
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:72: H5pyDeprecationWarning: The default file mode will change to 'r' (read-only) in h5py 3.0. To suppress this warning, pass the mode you need to h5py.File(), or set the global default h5.get_config().default_file_mode, or set the environment variable H5PY_DEFAULT_READONLY=1. Available modes are: 'r', 'r+', 'w', 'w-'/'x', 'a'. See the docs for details.\n",
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/core/computation/expressions.py:178: UserWarning: evaluating in Python space because the '*' operator is not supported by numexpr for the bool dtype, use '&' instead\n",
      "  f\"evaluating in Python space because the {repr(op_str)} \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20191601636 has no overlap\n",
      "building tree\n",
      "searching data\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:51: H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.\n"
     ]
    }
   ],
   "source": [
    "# Run all files\n",
    "hr = 1 # Specifies temporal search window for Icesat-2 data\n",
    "Vfiles = get_file_in_directory('/home/jovyan/CloudMask/CloudData/VIIRScld/')\n",
    "# Vfiles = ['/home/jovyan/CloudMask/CloudData/VIIRScld/CLDMSK_L2_VIIRS_SNPP.A2019156.0754.001.2019156185728.nc']\n",
    "mask, idx = assimVIIRS(dataf,Vfiles,hr,cloud_var)\n",
    "\n",
    "dataf.to_csv('~/CloudMask/dataframe20200618')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>ground_track</th>\n",
       "      <th>t_year</th>\n",
       "      <th>lat</th>\n",
       "      <th>lon</th>\n",
       "      <th>Integer_Cloud_Mask</th>\n",
       "      <th>h_li</th>\n",
       "      <th>s_li</th>\n",
       "      <th>q_flag</th>\n",
       "      <th>s_fg</th>\n",
       "      <th>...</th>\n",
       "      <th>cloud_flg_atm</th>\n",
       "      <th>msw_flag</th>\n",
       "      <th>fbsnow_h</th>\n",
       "      <th>bsnow_od</th>\n",
       "      <th>layer_flag</th>\n",
       "      <th>bckgrd</th>\n",
       "      <th>e_bckgrd</th>\n",
       "      <th>n_fit_photons</th>\n",
       "      <th>segment_id</th>\n",
       "      <th>w_surface_window_final</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>94266</th>\n",
       "      <td>0</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-09 19:48:09.026088</td>\n",
       "      <td>68.079959</td>\n",
       "      <td>-49.013818</td>\n",
       "      <td>None</td>\n",
       "      <td>1.282590e+03</td>\n",
       "      <td>3.837309e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>6.411893e+06</td>\n",
       "      <td>2.923832e+06</td>\n",
       "      <td>117</td>\n",
       "      <td>623016</td>\n",
       "      <td>3.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94267</th>\n",
       "      <td>1</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-09 19:48:09.028930</td>\n",
       "      <td>68.079781</td>\n",
       "      <td>-49.013878</td>\n",
       "      <td>None</td>\n",
       "      <td>1.282765e+03</td>\n",
       "      <td>3.083055e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>6.469010e+06</td>\n",
       "      <td>2.923838e+06</td>\n",
       "      <td>124</td>\n",
       "      <td>623017</td>\n",
       "      <td>3.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94268</th>\n",
       "      <td>2</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-09 19:48:09.031770</td>\n",
       "      <td>68.079603</td>\n",
       "      <td>-49.013937</td>\n",
       "      <td>None</td>\n",
       "      <td>1.282904e+03</td>\n",
       "      <td>3.453830e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>6.534639e+06</td>\n",
       "      <td>2.923843e+06</td>\n",
       "      <td>132</td>\n",
       "      <td>623018</td>\n",
       "      <td>3.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94269</th>\n",
       "      <td>3</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-09 19:48:09.034607</td>\n",
       "      <td>68.079425</td>\n",
       "      <td>-49.013995</td>\n",
       "      <td>None</td>\n",
       "      <td>1.283012e+03</td>\n",
       "      <td>3.292441e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>6.531690e+06</td>\n",
       "      <td>2.923849e+06</td>\n",
       "      <td>124</td>\n",
       "      <td>623019</td>\n",
       "      <td>3.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94270</th>\n",
       "      <td>4</td>\n",
       "      <td>gt1l</td>\n",
       "      <td>2019-06-09 19:48:09.037440</td>\n",
       "      <td>68.079247</td>\n",
       "      <td>-49.014053</td>\n",
       "      <td>None</td>\n",
       "      <td>1.283193e+03</td>\n",
       "      <td>3.756483e-02</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>6.487362e+06</td>\n",
       "      <td>2.923854e+06</td>\n",
       "      <td>140</td>\n",
       "      <td>623020</td>\n",
       "      <td>3.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395182</th>\n",
       "      <td>11339</td>\n",
       "      <td>gt3r</td>\n",
       "      <td>2019-06-09 07:02:21.667088</td>\n",
       "      <td>68.069503</td>\n",
       "      <td>-47.096505</td>\n",
       "      <td>3</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>10</td>\n",
       "      <td>378714</td>\n",
       "      <td>6.843547e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395183</th>\n",
       "      <td>11340</td>\n",
       "      <td>gt3r</td>\n",
       "      <td>2019-06-09 07:02:21.698058</td>\n",
       "      <td>68.071463</td>\n",
       "      <td>-47.097127</td>\n",
       "      <td>3</td>\n",
       "      <td>1.788015e+03</td>\n",
       "      <td>1.836172e+00</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>2.080241e+06</td>\n",
       "      <td>7.681689e+05</td>\n",
       "      <td>16</td>\n",
       "      <td>378725</td>\n",
       "      <td>1.106777e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395184</th>\n",
       "      <td>11341</td>\n",
       "      <td>gt3r</td>\n",
       "      <td>2019-06-09 07:02:21.714960</td>\n",
       "      <td>68.072532</td>\n",
       "      <td>-47.097464</td>\n",
       "      <td>3</td>\n",
       "      <td>1.821707e+03</td>\n",
       "      <td>1.368964e+00</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>2.121450e+06</td>\n",
       "      <td>7.699216e+05</td>\n",
       "      <td>13</td>\n",
       "      <td>378731</td>\n",
       "      <td>8.461672e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395185</th>\n",
       "      <td>11342</td>\n",
       "      <td>gt3r</td>\n",
       "      <td>2019-06-09 07:02:21.745974</td>\n",
       "      <td>68.074493</td>\n",
       "      <td>-47.098068</td>\n",
       "      <td>0</td>\n",
       "      <td>1.754869e+03</td>\n",
       "      <td>1.056747e+00</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>2.056847e+06</td>\n",
       "      <td>7.666412e+05</td>\n",
       "      <td>12</td>\n",
       "      <td>378742</td>\n",
       "      <td>6.427830e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>395186</th>\n",
       "      <td>11343</td>\n",
       "      <td>gt3r</td>\n",
       "      <td>2019-06-09 07:02:21.822010</td>\n",
       "      <td>68.079303</td>\n",
       "      <td>-47.099504</td>\n",
       "      <td>0</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>1</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>3.402823e+38</td>\n",
       "      <td>2147483647</td>\n",
       "      <td>378769</td>\n",
       "      <td>3.402823e+38</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>142771 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        index ground_track                     t_year        lat        lon  \\\n",
       "94266       0         gt1l 2019-06-09 19:48:09.026088  68.079959 -49.013818   \n",
       "94267       1         gt1l 2019-06-09 19:48:09.028930  68.079781 -49.013878   \n",
       "94268       2         gt1l 2019-06-09 19:48:09.031770  68.079603 -49.013937   \n",
       "94269       3         gt1l 2019-06-09 19:48:09.034607  68.079425 -49.013995   \n",
       "94270       4         gt1l 2019-06-09 19:48:09.037440  68.079247 -49.014053   \n",
       "...       ...          ...                        ...        ...        ...   \n",
       "395182  11339         gt3r 2019-06-09 07:02:21.667088  68.069503 -47.096505   \n",
       "395183  11340         gt3r 2019-06-09 07:02:21.698058  68.071463 -47.097127   \n",
       "395184  11341         gt3r 2019-06-09 07:02:21.714960  68.072532 -47.097464   \n",
       "395185  11342         gt3r 2019-06-09 07:02:21.745974  68.074493 -47.098068   \n",
       "395186  11343         gt3r 2019-06-09 07:02:21.822010  68.079303 -47.099504   \n",
       "\n",
       "       Integer_Cloud_Mask          h_li          s_li  q_flag  s_fg  ...  \\\n",
       "94266                None  1.282590e+03  3.837309e-02       0     0  ...   \n",
       "94267                None  1.282765e+03  3.083055e-02       0     0  ...   \n",
       "94268                None  1.282904e+03  3.453830e-02       0     0  ...   \n",
       "94269                None  1.283012e+03  3.292441e-02       0     0  ...   \n",
       "94270                None  1.283193e+03  3.756483e-02       0     0  ...   \n",
       "...                   ...           ...           ...     ...   ...  ...   \n",
       "395182                  3  3.402823e+38  3.402823e+38       1     2  ...   \n",
       "395183                  3  1.788015e+03  1.836172e+00       1     2  ...   \n",
       "395184                  3  1.821707e+03  1.368964e+00       1     2  ...   \n",
       "395185                  0  1.754869e+03  1.056747e+00       1     2  ...   \n",
       "395186                  0  3.402823e+38  3.402823e+38       1     3  ...   \n",
       "\n",
       "        cloud_flg_atm  msw_flag      fbsnow_h      bsnow_od  layer_flag  \\\n",
       "94266               1         1  3.402823e+38  3.402823e+38           1   \n",
       "94267               1         1  3.402823e+38  3.402823e+38           1   \n",
       "94268               1         1  3.402823e+38  3.402823e+38           1   \n",
       "94269               1         1  3.402823e+38  3.402823e+38           1   \n",
       "94270               1         1  3.402823e+38  3.402823e+38           1   \n",
       "...               ...       ...           ...           ...         ...   \n",
       "395182              1         1  3.402823e+38  3.402823e+38           1   \n",
       "395183              1         1  3.402823e+38  3.402823e+38           1   \n",
       "395184              1         1  3.402823e+38  3.402823e+38           1   \n",
       "395185              1         1  3.402823e+38  3.402823e+38           1   \n",
       "395186              1         1  3.402823e+38  3.402823e+38           1   \n",
       "\n",
       "              bckgrd      e_bckgrd  n_fit_photons  segment_id  \\\n",
       "94266   6.411893e+06  2.923832e+06            117      623016   \n",
       "94267   6.469010e+06  2.923838e+06            124      623017   \n",
       "94268   6.534639e+06  2.923843e+06            132      623018   \n",
       "94269   6.531690e+06  2.923849e+06            124      623019   \n",
       "94270   6.487362e+06  2.923854e+06            140      623020   \n",
       "...              ...           ...            ...         ...   \n",
       "395182  3.402823e+38  3.402823e+38             10      378714   \n",
       "395183  2.080241e+06  7.681689e+05             16      378725   \n",
       "395184  2.121450e+06  7.699216e+05             13      378731   \n",
       "395185  2.056847e+06  7.666412e+05             12      378742   \n",
       "395186  3.402823e+38  3.402823e+38     2147483647      378769   \n",
       "\n",
       "        w_surface_window_final  \n",
       "94266             3.000000e+00  \n",
       "94267             3.000000e+00  \n",
       "94268             3.000000e+00  \n",
       "94269             3.000000e+00  \n",
       "94270             3.000000e+00  \n",
       "...                        ...  \n",
       "395182            6.843547e+00  \n",
       "395183            1.106777e+01  \n",
       "395184            8.461672e+00  \n",
       "395185            6.427830e+00  \n",
       "395186            3.402823e+38  \n",
       "\n",
       "[142771 rows x 25 columns]"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Data has been assimilated for times that coincide with VIIRS and not others\n",
    "dataf.loc[dataf.t_year.dt.date==pd.to_datetime('2019-06-09')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:1: H5pyDeprecationWarning: The default file mode will change to 'r' (read-only) in h5py 3.0. To suppress this warning, pass the mode you need to h5py.File(), or set the global default h5.get_config().default_file_mode, or set the environment variable H5PY_DEFAULT_READONLY=1. Available modes are: 'r', 'r+', 'w', 'w-'/'x', 'a'. See the docs for details.\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n",
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:2: H5pyDeprecationWarning: dataset.value has been deprecated. Use dataset[()] instead.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7fca65d9eb10>"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Map of VIIRS over study area\n",
    "img = h5py.File(Vfiles[0])\n",
    "Vdata = img['geophysical_data'][cloud_var].value\n",
    "plt.imshow(Vdata[1700:2200,2500:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7fca65db6390>"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Map of coincident Icesat-2 over study area\n",
    "plt.spy(mask[1700:2200,2500:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2    150480\n",
       "1     93532\n",
       "5     71058\n",
       "3     49528\n",
       "4     26321\n",
       "0      4268\n",
       "Name: cloud_flg_asr, dtype: int64"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataf.cloud_flg_asr.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3    108556\n",
       "0     37503\n",
       "1       192\n",
       "Name: Integer_Cloud_Mask, dtype: int64"
      ]
     },
     "execution_count": 126,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataf.Integer_Cloud_Mask.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8201352964584162"
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Cloudy\n",
    "ss = dataf[['Integer_Cloud_Mask','cloud_flg_asr']].loc[dataf.Integer_Cloud_Mask>=0]\n",
    "ss = ss.loc[ss['Integer_Cloud_Mask']<=1]\n",
    "allcld = ss.shape[0]\n",
    "ss2 = ss.loc[ss['cloud_flg_asr']>=3]\n",
    "matcld = ss2.shape[0]\n",
    "matcld/allcld"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# dataf.loc[dataf['t_year'].dt.date==f_day.date()]\n",
    "# dataf['idx'] = idx\n",
    "# plt.spy(mask[2500:,1700:2200])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Xarray"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/srv/conda/envs/notebook/lib/python3.7/site-packages/IPython/core/magics/pylab.py:160: UserWarning: pylab import has clobbered these variables: ['f']\n",
      "`%matplotlib` prevents importing * from pylab and numpy\n",
      "  \"\\n`%matplotlib` prevents importing * from pylab and numpy\"\n"
     ]
    }
   ],
   "source": [
    "%pylab inline\n",
    "import xarray as xr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "xray = xr.Dataset.from_dataframe(dataf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<title>Show/Hide data repr</title>\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<title>Show/Hide attributes</title>\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt, dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2 {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><div class='xr-wrap'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-aa14078c-abf7-40d0-beda-2db6b6faa441' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-aa14078c-abf7-40d0-beda-2db6b6faa441' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>index</span>: 252416</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-ad11cb68-bb1b-480b-a2f0-67dfe8df12cc' class='xr-section-summary-in' type='checkbox'  checked><label for='section-ad11cb68-bb1b-480b-a2f0-67dfe8df12cc' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>index</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 1 2 3 ... 13174 13175 13176 13177</div><input id='attrs-987b01bf-528d-43c7-8495-0aa88a42b070' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-987b01bf-528d-43c7-8495-0aa88a42b070' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3503a24c-c366-4421-8433-9c87db0650a0' class='xr-var-data-in' type='checkbox'><label for='data-3503a24c-c366-4421-8433-9c87db0650a0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([    0,     1,     2, ..., 13175, 13176, 13177])</pre></li></ul></div></li><li class='xr-section-item'><input id='section-45136072-a220-4922-b165-3e49fee11b15' class='xr-section-summary-in' type='checkbox'  checked><label for='section-45136072-a220-4922-b165-3e49fee11b15' class='xr-section-summary' >Data variables: <span>(12)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>ground_track</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>&#x27;gt1l&#x27; &#x27;gt1l&#x27; ... &#x27;gt3r&#x27; &#x27;gt3r&#x27;</div><input id='attrs-ba0c9cd9-9383-4371-b911-6f2709b3cec2' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ba0c9cd9-9383-4371-b911-6f2709b3cec2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c95934e2-5f5c-4b77-bce0-097fa5f1dfdf' class='xr-var-data-in' type='checkbox'><label for='data-c95934e2-5f5c-4b77-bce0-097fa5f1dfdf' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([&#x27;gt1l&#x27;, &#x27;gt1l&#x27;, &#x27;gt1l&#x27;, ..., &#x27;gt3r&#x27;, &#x27;gt3r&#x27;, &#x27;gt3r&#x27;], dtype=object)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>lat</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>68.08 68.08 68.08 ... 65.73 65.73</div><input id='attrs-15cda455-c257-4baf-a62f-8a789733c443' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-15cda455-c257-4baf-a62f-8a789733c443' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5e31a7d9-e436-4183-8984-69a43916e4d3' class='xr-var-data-in' type='checkbox'><label for='data-5e31a7d9-e436-4183-8984-69a43916e4d3' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([68.07999907, 68.07982081, 68.07964258, ..., 65.73042956,\n",
       "       65.73025116, 65.73007276])</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>lon</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-47.46 -47.46 ... -49.08 -49.08</div><input id='attrs-e46074ad-9868-47ea-9816-e413564cdbe2' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e46074ad-9868-47ea-9816-e413564cdbe2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a4d03fe3-c27c-49a7-ac63-b2c8f0d33351' class='xr-var-data-in' type='checkbox'><label for='data-a4d03fe3-c27c-49a7-ac63-b2c8f0d33351' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([-47.45594147, -47.45599716, -47.45605314, ..., -49.07509074,\n",
       "       -49.07513916, -49.07518767])</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>h_li</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>1681.1671 1681.0332 ... 1479.2249</div><input id='attrs-b10215c5-fb1e-4044-8104-08c86538db54' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b10215c5-fb1e-4044-8104-08c86538db54' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-eb86622d-7951-4113-9d90-17efc48dea78' class='xr-var-data-in' type='checkbox'><label for='data-eb86622d-7951-4113-9d90-17efc48dea78' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([1681.1671, 1681.0332, 1680.8826, ..., 1479.2585, 1479.196 ,\n",
       "       1479.2249], dtype=float32)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>s_li</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.008938037 ... 0.042509172</div><input id='attrs-6ad26a36-930f-45f0-9d00-e6f786aca696' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6ad26a36-930f-45f0-9d00-e6f786aca696' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7a94fc75-c6e8-408d-813a-22419aa5b82a' class='xr-var-data-in' type='checkbox'><label for='data-7a94fc75-c6e8-408d-813a-22419aa5b82a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([0.00893804, 0.01263031, 0.01189887, ..., 0.03404627, 0.03771126,\n",
       "       0.04250917], dtype=float32)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>q_flag</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>int8</div><div class='xr-var-preview xr-preview'>0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0</div><input id='attrs-3c64ffd2-667a-4f2c-badb-15bed64ac83b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-3c64ffd2-667a-4f2c-badb-15bed64ac83b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d29a8c75-dfc4-44d7-aa0a-ae78a89d6807' class='xr-var-data-in' type='checkbox'><label for='data-d29a8c75-dfc4-44d7-aa0a-ae78a89d6807' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([0, 0, 0, ..., 0, 0, 0], dtype=int8)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>s_fg</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>int8</div><div class='xr-var-preview xr-preview'>0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0</div><input id='attrs-c8bf69c0-a8ba-4ed3-83e4-083d71ef1e51' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c8bf69c0-a8ba-4ed3-83e4-083d71ef1e51' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-76310c5f-19fa-46bd-a14d-4769e5b2823f' class='xr-var-data-in' type='checkbox'><label for='data-76310c5f-19fa-46bd-a14d-4769e5b2823f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([0, 0, 0, ..., 0, 0, 0], dtype=int8)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>snr</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0</div><input id='attrs-653cf3e8-315c-4193-8fd1-790c992a51a8' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-653cf3e8-315c-4193-8fd1-790c992a51a8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-13dd2da1-02e5-4ecd-b3e1-4f49aa863b5e' class='xr-var-data-in' type='checkbox'><label for='data-13dd2da1-02e5-4ecd-b3e1-4f49aa863b5e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([0., 0., 0., ..., 0., 0., 0.], dtype=float32)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>h_rb</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.11863171 ... 0.19301407</div><input id='attrs-657f1f05-2f3b-4dc6-9dd2-45e2bc5b9ce7' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-657f1f05-2f3b-4dc6-9dd2-45e2bc5b9ce7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-247e1ebc-5344-4024-bd83-07d3ca958d3c' class='xr-var-data-in' type='checkbox'><label for='data-247e1ebc-5344-4024-bd83-07d3ca958d3c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([0.11863171, 0.13709156, 0.124785  , ..., 0.18269826, 0.20785435,\n",
       "       0.19301407], dtype=float32)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>dh_fit_dx</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>-0.006507039 ... -0.0005083084</div><input id='attrs-ff0614f4-3959-45d8-b078-0fe679784672' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ff0614f4-3959-45d8-b078-0fe679784672' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-33198ec5-f151-4c32-ba58-4401c4a367be' class='xr-var-data-in' type='checkbox'><label for='data-33198ec5-f151-4c32-ba58-4401c4a367be' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([-0.00650704, -0.00982141, -0.00499424, ..., -0.01170564,\n",
       "       -0.0007925 , -0.00050831], dtype=float32)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>f_sn</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>3.0 3.0 3.0 3.0 ... 3.0 3.0 3.0 3.0</div><input id='attrs-3aca88b3-e79d-4226-a5a8-762cbd700c30' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-3aca88b3-e79d-4226-a5a8-762cbd700c30' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-71a51228-4aa2-489a-8cd4-ff9eeec4ee29' class='xr-var-data-in' type='checkbox'><label for='data-71a51228-4aa2-489a-8cd4-ff9eeec4ee29' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([3., 3., 3., ..., 3., 3., 3.], dtype=float32)</pre></li><li class='xr-var-item'><div class='xr-var-name'><span>Integer_Cloud_Mask</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>int8</div><div class='xr-var-preview xr-preview'>3 3 3 3 3 3 3 3 ... 3 3 3 3 3 3 3 3</div><input id='attrs-f8587a97-d1e6-4a31-9748-d0a78d044a43' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-f8587a97-d1e6-4a31-9748-d0a78d044a43' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1628cb28-c9a0-4b7d-9066-9791dda186de' class='xr-var-data-in' type='checkbox'><label for='data-1628cb28-c9a0-4b7d-9066-9791dda186de' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([3, 3, 3, ..., 3, 3, 3], dtype=int8)</pre></li></ul></div></li><li class='xr-section-item'><input id='section-967a8834-f7d2-4dc6-ad3c-f6e35cf240c6' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-967a8834-f7d2-4dc6-ad3c-f6e35cf240c6' class='xr-section-summary'  title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:             (index: 252416)\n",
       "Coordinates:\n",
       "  * index               (index) int64 0 1 2 3 4 ... 13174 13175 13176 13177\n",
       "Data variables:\n",
       "    ground_track        (index) object 'gt1l' 'gt1l' 'gt1l' ... 'gt3r' 'gt3r'\n",
       "    lat                 (index) float64 68.08 68.08 68.08 ... 65.73 65.73 65.73\n",
       "    lon                 (index) float64 -47.46 -47.46 -47.46 ... -49.08 -49.08\n",
       "    h_li                (index) float32 1681.1671 1681.0332 ... 1479.2249\n",
       "    s_li                (index) float32 0.008938037 0.012630311 ... 0.042509172\n",
       "    q_flag              (index) int8 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0\n",
       "    s_fg                (index) int8 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0\n",
       "    snr                 (index) float32 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
       "    h_rb                (index) float32 0.11863171 0.13709156 ... 0.19301407\n",
       "    dh_fit_dx           (index) float32 -0.006507039 ... -0.0005083084\n",
       "    f_sn                (index) float32 3.0 3.0 3.0 3.0 3.0 ... 3.0 3.0 3.0 3.0\n",
       "    Integer_Cloud_Mask  (index) int8 3 3 3 3 3 3 3 3 3 3 ... 3 3 3 3 3 3 3 3 3 3"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xray"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "idx\n",
       "8869152     2413.775146\n",
       "8872352     2412.567627\n",
       "8875551     2411.411133\n",
       "8878751     2408.125000\n",
       "8878755     2401.977051\n",
       "               ...     \n",
       "10104314    1516.200317\n",
       "10104319    1451.449829\n",
       "10107518    1444.441284\n",
       "10110717    1465.045532\n",
       "10113917    1463.444580\n",
       "Name: h_li, Length: 2475, dtype: float32"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataf.groupby('idx').h_li.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "8869152     2413.775146\n",
       "8872352     2412.567627\n",
       "8875551     2411.411133\n",
       "8878751     2408.125000\n",
       "8878755     2401.977051\n",
       "               ...     \n",
       "10104314    1516.200317\n",
       "10104319    1451.449829\n",
       "10107518    1444.441284\n",
       "10110717    1465.045532\n",
       "10113917    1463.444580\n",
       "Name: h_li, Length: 2475, dtype: float32"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataf.groupby(idx.flatten()).h_li.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(252416,)"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shape(idx.flat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "temp = xray.groupby('idx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001b[0;31mSignature:\u001b[0m \u001b[0mtemp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreduce\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkeep_attrs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;31mDocstring:\u001b[0m\n",
       "Reduce the items in this group by applying `func` along some\n",
       "dimension(s).\n",
       "\n",
       "Parameters\n",
       "----------\n",
       "func : function\n",
       "    Function which can be called in the form\n",
       "    `func(x, axis=axis, **kwargs)` to return the result of collapsing\n",
       "    an np.ndarray over an integer valued axis.\n",
       "dim : `...`, str or sequence of str, optional\n",
       "    Dimension(s) over which to apply `func`.\n",
       "axis : int or sequence of int, optional\n",
       "    Axis(es) over which to apply `func`. Only one of the 'dimension'\n",
       "    and 'axis' arguments can be supplied. If neither are supplied, then\n",
       "    `func` is calculated over all dimension for each group item.\n",
       "keep_attrs : bool, optional\n",
       "    If True, the datasets's attributes (`attrs`) will be copied from\n",
       "    the original object to the new one.  If False (default), the new\n",
       "    object will be returned without attributes.\n",
       "**kwargs : dict\n",
       "    Additional keyword arguments passed on to `func`.\n",
       "\n",
       "Returns\n",
       "-------\n",
       "reduced : Array\n",
       "    Array with summarized data and the indicated dimension(s)\n",
       "    removed.\n",
       "\u001b[0;31mFile:\u001b[0m      /srv/conda/envs/notebook/lib/python3.7/site-packages/xarray/core/groupby.py\n",
       "\u001b[0;31mType:\u001b[0m      method\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "temp.reduce?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<title>Show/Hide data repr</title>\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<title>Show/Hide attributes</title>\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt, dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2 {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><div class='xr-wrap'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'idx'</div><ul class='xr-dim-list'><li><span>dim_0</span>: 252416</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-817fe7ac-c5ff-4453-8fac-afa56d2b71b5' class='xr-array-in' type='checkbox' ><label for='section-817fe7ac-c5ff-4453-8fac-afa56d2b71b5' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>10024279 10024279 10024279 10024279 ... 9202093 9202093 9202093</span></div><pre class='xr-array-data'>array([10024279, 10024279, 10024279, ...,  9202093,  9202093,  9202093])</pre></div></li><li class='xr-section-item'><input id='section-30dba859-fd7e-4cde-9aaa-e9a62ac674e4' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-30dba859-fd7e-4cde-9aaa-e9a62ac674e4' class='xr-section-summary'  title='Expand/collapse section'>Coordinates: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-32f8c875-1af2-479c-b721-91163c837def' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-32f8c875-1af2-479c-b721-91163c837def' class='xr-section-summary'  title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.DataArray 'idx' (dim_0: 252416)>\n",
       "array([10024279, 10024279, 10024279, ...,  9202093,  9202093,  9202093])\n",
       "Dimensions without coordinates: dim_0"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xr.DataArray(idx.flatten(),name='idx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<title>Show/Hide data repr</title>\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<title>Show/Hide attributes</title>\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt, dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2 {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><div class='xr-wrap'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'h_li'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>index</span>: 50</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-a8971154-eeec-4254-a6eb-9cac19c2cdc9' class='xr-array-in' type='checkbox' ><label for='section-a8971154-eeec-4254-a6eb-9cac19c2cdc9' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>1681.1671 1681.0332 1680.8826 ... 1677.1104 1677.0397 1676.9884</span></div><pre class='xr-array-data'>array([1681.1671, 1681.0332, 1680.8826, 1680.7661, 1680.6771, 1680.5906,\n",
       "       1680.5017, 1680.4003, 1680.3306, 1680.3057, 1680.2445, 1680.154 ,\n",
       "       1680.0974, 1680.0483, 1679.9585, 1679.8813, 1679.8041, 1679.7041,\n",
       "       1679.5951, 1679.5123, 1679.406 , 1679.2731, 1679.1458, 1679.0913,\n",
       "       1679.0428, 1678.8878, 1678.7472, 1678.6771, 1678.5955, 1678.5282,\n",
       "       1678.4364, 1678.2891, 1678.1946, 1678.114 , 1678.0094, 1677.9333,\n",
       "       1677.8728, 1677.8041, 1677.7333, 1677.6865, 1677.6263, 1677.5552,\n",
       "       1677.5076, 1677.4456, 1677.3518, 1677.2915, 1677.2076, 1677.1104,\n",
       "       1677.0397, 1676.9884], dtype=float32)</pre></div></li><li class='xr-section-item'><input id='section-b8806c21-4b8a-4070-963d-3349a1f4d6ca' class='xr-section-summary-in' type='checkbox'  checked><label for='section-b8806c21-4b8a-4070-963d-3349a1f4d6ca' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>index</span></div><div class='xr-var-dims'>(index)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 1 2 3 4 5 6 ... 44 45 46 47 48 49</div><input id='attrs-daf76b18-6349-49de-bd38-4982a2cdb0ed' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-daf76b18-6349-49de-bd38-4982a2cdb0ed' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9a69d323-ebb5-4d5b-84a2-507227b8e5f2' class='xr-var-data-in' type='checkbox'><label for='data-9a69d323-ebb5-4d5b-84a2-507227b8e5f2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><pre class='xr-var-data'>array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,\n",
       "       18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n",
       "       36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49])</pre></li></ul></div></li><li class='xr-section-item'><input id='section-2dd8851a-2d9c-46bb-afa5-b065a24ce0e2' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-2dd8851a-2d9c-46bb-afa5-b065a24ce0e2' class='xr-section-summary'  title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.DataArray 'h_li' (index: 50)>\n",
       "array([1681.1671, 1681.0332, 1680.8826, 1680.7661, 1680.6771, 1680.5906,\n",
       "       1680.5017, 1680.4003, 1680.3306, 1680.3057, 1680.2445, 1680.154 ,\n",
       "       1680.0974, 1680.0483, 1679.9585, 1679.8813, 1679.8041, 1679.7041,\n",
       "       1679.5951, 1679.5123, 1679.406 , 1679.2731, 1679.1458, 1679.0913,\n",
       "       1679.0428, 1678.8878, 1678.7472, 1678.6771, 1678.5955, 1678.5282,\n",
       "       1678.4364, 1678.2891, 1678.1946, 1678.114 , 1678.0094, 1677.9333,\n",
       "       1677.8728, 1677.8041, 1677.7333, 1677.6865, 1677.6263, 1677.5552,\n",
       "       1677.5076, 1677.4456, 1677.3518, 1677.2915, 1677.2076, 1677.1104,\n",
       "       1677.0397, 1676.9884], dtype=float32)\n",
       "Coordinates:\n",
       "  * index    (index) int64 0 1 2 3 4 5 6 7 8 9 ... 40 41 42 43 44 45 46 47 48 49"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xray.h_li[:50]"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
